package com.shoulder.mybatis.utils;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.shoulder.core.utils.EntityUtils;

public interface PageUtils<E, Vo> extends EntityUtils<E, Vo> {

    /**
     * 分页结果类型转化
     *
     * @param page page数据页
     * @return Page<Vo>对象
     */
    default Page<Vo> toPage(Page<E> page) {
        Page<Vo> pageVo = new Page<>();
        pageVo.setTotal(page.getTotal());
        pageVo.setCurrent(page.getCurrent());
        pageVo.setSize(page.getSize());
        pageVo.setRecords(toVos(page.getRecords()));
        return pageVo;
    }
}
